/**
 * 进程参数:转换为可执行字符串参数
 * @param xs array|string|number|null 忽略的参数key  null:无忽略
 * 		string:split(','), 主参数:'-', 布尔值短参数可:"-{多字符}"
 * @return string 非空时,前有空格
 */
$.argsStr = function(xs=null){
	if(xs!==null && !Array.isArray(xs)) xs=(xs+'').split(',');
	let rtn='', ARGS=$.__args, S=xs?[]:null;
	xs && xs.forEach(v=>{
		let n=v.length;  if(n<3) return S.push(v);
		if(v[0]!=='-' || v[1]==='-') return S.push(v);
		for(let i=1; i<n; i++) S.push('-'+v[i]);
	});
	Object.keys(ARGS).forEach(k=>{
		if(S && S.indexOf(k)>=0) return;  let v=ARGS[k];
		let x = k==='-' ? '-='+v : (v===true?k:k+'='+v);
		if(x.indexOf(' ')<0) x=x.replace(/("')/g,'\\$1');
		else x = '"'+x.replace(/"/g,'\\"')+'"';
		if(k==='-') rtn=' '+x+rtn; else rtn+=' '.x;
	});
	return rtn;
};
